package com.code.day13String;

public class Test01 {
    public static void main(String[] args) {
        // 1. 创建空字符串对象（无参构造）
        String s1 = new String();
        System.out.println("s1=" + s1); // 输出空字符串


        // 2. 通过字符串常量创建字符串对象
        String s2 = new String("abc");
        System.out.println("s2=" + s2); // 输出abc


        // 3. 通过字符数组创建字符串对象
        char[] chars = new char[]{'a', 'b', 'c'}; // 定义字符数组
        String s3 = new String(chars); // 将字符数组转换为字符串
        System.out.println("s3=" + s3); // 输出abc


        // 4. 通过字节数组创建字符串对象（默认使用ASCII编码解析）
        byte[] bytes = {97, 99, 66,}; // 字节值对应ASCII码：97='a'，99='c'，66='B'
        String s4 = new String(bytes); // 将字节数组转换为字符串
        System.out.println("s4=" + s4); // 输出acB


        System.out.println("================");

        // 5. 通过字节数组创建字符串对象（使用UTF-8编码解析）
        // 字节数组{-27,-101,-67}对应UTF-8编码的中文字符"中"
        byte[] bytes1 = {-27, -101, -67};
        String s5 = new String(bytes1); // 按默认编码（通常是UTF-8）解析字节数组
        System.out.println("s5=" + s5); // 输出中

    }
}